import greenlet


def func1():
    print(1)  # 第二步：输出 1
    g2.switch()  # 第三步：切换到func2()
    print(2)  # 第六步：输出 2
    g2.switch()  # 第七步：切换到func2()


def func2():
    print(3)  # 第四步：输出 3
    g1.switch()  # 第五步：切换到func1()
    print(4)  # 第八步：输出 4


g1 = greenlet.greenlet(func1)  # 其实就是创建特殊的对象，也不用加括号
g2 = greenlet.greenlet(func2)

g1.switch()  # 第一步：执行func1()函数
